<?php

namespace app\common\cachemodel\acquired_astro;

use app\common\model\BaseCache;
use think\Env;
use think\Log;
use XznsTools\cache\CacheManage;

class AppAcquiredAstroTestRecord extends BaseCache
{
    protected $table = 'wechat_backup_07_18_14_43_00.app_acquired_astro_test_record';

    protected $cacheModel = 'acquired_astro.exercise_test_record';


    public function getTraitsExplainConfig()
    {
        return [
            'GCDP & 白羊座' => [
                'type' => 'GCDP',
                // 人格特质
                'text1' => 'TA们是内心温柔且深具同理心的个体，G因子揭示了他们内敛的善意和对社会的深刻理解，C因子则展现了他们倾向于正面能量的海绵特质，善于从外界环境中吸取积极的养分。D因子指示了他们在决策时的果断与直觉力，而P因子则彰显了他们对未知的好奇心和乐观态度，使得他们面对挑战时总能保持积极向上的姿态。',
                // 具体表现
                'text2' => '白羊座与GCDP们总是希望将自己的内在光芒投射到周围的世界，他们的人际关系和工作表现往往因为这种特质而显得格外出色。他们的正面能量和果断决策能力，使得他们在团队中往往能够成为引领者和决策者。匹配点：白羊座与GCDP的特质在积极乐观、迅速应对挑战上高度匹配，这使得他们在面对生活和工作中的各种情境时，总能迅速适应并找到最佳解决方案。',
            ],
            'GCDN & 天蝎座' => [
                'type' => 'GCDN',
                'text1' => 'TA们是内心深处温柔而善良的个体，G因子映射出他们社会化过程中所获得的深度教化，使其在人际交往中散发出独特的魅力。C因子则揭示了他们具有强大的正能量吸收能力，面对外界信息时，他们像海绵一样优先吸收那些对心灵有益的正面能量。D因子指示了他们在决策时的果断性，他们相信并依赖直觉，能够在关键时刻迅速做出选择并付诸实践。N因子则反映了他们对待未知事物的悲观态度，他们倾向于用审慎的眼光去审视未知，避免盲目乐观。',
                'text2' => '天蝎座与GCDN们总是希望在生活中找到能够共鸣和互补的伙伴，他们渴望深层次的情感连接和心灵交流。GCDN的特质为他们带来了稳定的情感支持和强大的心理韧性，使他们能够在面对挑战时保持坚定。匹配点：天蝎座与GCDN的特质在情感深度和直觉决策上高度匹配，天蝎座的直觉与GCDN的果断决策相得益彰，共同构建了一种深刻而稳固的关系模式。',
            ],
            'GCHP & 双鱼座' => [
                'type' => 'GCHP',
                'text1' => 'TA们是典型的情感丰富与理性思考的复合体，GCHP特质的人在社会互动中展现出一种温柔且富有同理心的面貌，同时又不失为一个深思熟虑的决策者。他们内心深处隐藏着一种温暖和善意，这种特质往往在社会交往中成为他们独特的魅力所在。他们的社会行为受到高度教化的影响，表现出一种成熟和世故。在吸收外部信息时，他们像海绵一样优先吸收正能量，过滤掉消极因素，这使他们在面对挑战时总能保持积极向上的态度。',
                'text2' => '双鱼座与GCHP们总是希望将自己的内在温柔与外在的理性完美结合，以实现个人成长和心灵满足。他们在人际关系中能够给予他人温暖和关怀，同时又能保持清晰的判断力，不易被情绪左右。这种平衡使得他们在团队中往往能够成为值得信赖的伙伴。匹配点：双鱼座与GCHP的特质在情感深度与理性分析上高度匹配，他们能够在感性与理性之间找到平衡点，既不过度沉浸在情感中，也不完全被逻辑所束缚。',
            ],
            'GCHN & 处女座' => [
                'type' => 'GCHN',
                'text1' => 'TA们是内心温柔且深具同理心的个体，G因子揭示了他们内敛的善意和对社会的深刻理解，C因子则展现了他们对于积极能量的渴望和吸收能力。H因子代表了他们在决策时的审慎和理性，而N因子则透露出他们对未知的谨慎态度和悲观倾向。这种组合使得TA们在人际交往中既温暖又可靠，同时保持着一种必要的警觉性。',
                'text2' => '处女座与GCHN们总是希望在生活中找到一种平衡，他们追求内心的和谐与外在的秩序。GCHN的特质让他们在处理人际关系时更加细腻入微，能够体贴他人的感受，同时C因子的正面能量吸收能力使得他们能够为周围的人带来阳光。在决策上，H因子和N因子的结合让TA们能够既理性分析又避免盲目乐观，这种特质在处女座追求完美和细节的背景下，显得尤为珍贵。匹配点：处女座与GCHN的特质在追求细节完美、理性分析和情感细腻上高度匹配，共同构建了一种既实际又充满人文关怀的人格模式。',
            ],
            'GEDP & 摩羯座' => [
                'type' => 'GEDP',
                'text1' => 'TA们是内心深处温柔而善良的个体，‘G’特质让他们在社会互动中散发出独特的光辉，同时，这也反映了他们较高的社会化水平。‘E’特质则赋予了他们深刻理解外部世界复杂性的能力，他们擅长从信息中提炼价值，但同时也可能对负面信息更为敏感。‘D’特质表明他们在决策时具有果断性，相信直觉，能够在关键时刻迅速采取行动。而‘P’特质则让他们对未知充满好奇和热情，愿意积极面对挑战，对未来抱有乐观态度。摩羯座与GEDP的特质结合，形成了一种既稳定又充满活力的个性。',
                'text2' => '摩羯座与GEDP们总是希望在生活中找到稳定与变化的平衡点，他们的决策风格和对待未知的态度，使得他们能够在保持内在稳定的同时，不断探索新的可能性。这种特质让他们在职业发展和人际关系中表现出色，能够适应各种环境，同时保持自我。匹配点：摩羯座与GEDP的特质在追求稳定与探索未知的平衡上高度匹配，这种结合使得他们在面对生活中的各种挑战时，既能保持冷静和理智，又能充满勇气和动力。',
            ],
            'GEDN & 摩羯座' => [
                'type' => 'GEDN',
                'text1' => 'TA们是内心深处温柔而善良的个体，‘G’特质让他们在社会互动中散发出独特的光辉，同时，这也反映了他们较高的社会化水平。‘E’特质则赋予了他们深刻理解外部世界复杂性的能力，他们擅长从信息中提炼价值，但同时也容易受到负面信息的影响。‘D’特质表明他们在决策时果断且有较强的直觉，能够在关键时刻迅速采取行动。而‘N’特质则让他们以悲观的态度面对未知，这种审慎的态度有助于避免盲目乐观。总体上，这些特质构成了一个既理性又感性，既独立又谨慎的复杂人格。',
                'text2' => '摩羯座与GEDN们总是希望在生活中找到稳定和秩序，他们的性格使得他们在面对挑战时能够保持冷静，同时也能够深入思考问题的本质。‘G’与摩羯座的耐心和责任感相得益彰，‘E’与摩羯座的实际和深思熟虑相匹配，‘D’与摩羯座的坚定和自律相辅相成，而‘N’则与摩羯座的谨慎和现实态度高度契合。摩羯座与GEDN的特质在追求稳定和深入理解事物的能力上高度匹配，这使得他们在个人成长和职业发展中能够展现出卓越的适应力和洞察力。',
            ],
            'GEHP & 金牛座' => [
                'type' => 'GEHP',
                'text1' => 'TA们是内心温柔且深具洞察力的思考者，GEHP特质的人在社会互动中展现出一种温和的智慧，他们的内心深处藏着不为人知的善良与敏感。他们深受社会化过程的影响，形成了对复杂世界深刻的理解和批判性思维。在决策时，他们审慎权衡，展现出高度的理性与稳健性，同时对于未知事物抱有乐观和探索的热情，这种特质使他们在面对挑战时显得格外坚韧和充满希望。',
                'text2' => '金牛座与GEHP们总是希望在生活中找到稳定与和谐，他们通过深思熟虑的行动和决策，为自己创造一个有序且充满意义的环境。他们的匹配点：金牛座与GEHP的特质在追求内在平衡和深度思考上高度匹配，这使得他们在面对生活中的各种情境时，能够以一颗平和而坚定的心，去探索、去成长，不断追求精神上的满足和自我实现。',
            ],
            'GEHN & 巨蟹座' => [
                'type' => 'GEHN',
                'text1' => 'TA们是典型的复杂情感与理性思考的复合体，内敛的温柔与善意在日常生活中不易被察觉，却是他们社会互动中温暖他人的秘密武器。GEHN特质的人深受社会化过程的影响，形成了对复杂社会规则的理解和尊重。他们具有深刻的洞察力，能够洞悉外部世界的复杂性，并从中提炼出独特的价值。同时，他们倾向于在决策时进行深思熟虑，权衡各种可能性，这种谨慎的态度使得他们在面对不确定性时显得更加稳健和可靠。然而，这种谨慎也可能导致他们倾向于悲观，对未知持有一种审慎的怀疑态度，避免盲目乐观。',
                'text2' => '巨蟹座与GEHN们总是希望在生活中找到一种平衡，他们渴望在情感与理性之间建立一座桥梁，使得内心的温柔与外部的复杂性能够和谐共存。这种特质使得他们在人际交往中显得既温暖又可靠，能够给予他人安全感。巨蟹座与GEHN的特质在情感深度与理性分析上高度匹配，他们能够在情感层面上与他人建立深厚的联系，同时在理性层面上保持清晰的判断力。这种平衡不仅为他们自己带来了内心的平和，也为他们周围的人提供了稳定与支持。',
            ],
            'ACDP & 白羊座' => [
                'type' => 'ACDP',
                'text1' => 'TA们是充满原始活力与直觉决策的个体，拥有白羊座那种天生的冲动和竞争力，同时ACDP特质让他们在吸收外界信息时更倾向于积极正面的能量。他们果敢、自信，面对挑战时展现出海绵般的吸收能力和狮子般的决断力，对未来抱有无限的热忱和乐观。',
                'text2' => '白羊座与ACDP们总是希望在生活中不断前进，追求个人成长和自我实现。他们的匹配点：白羊座与ACDP的特质在追求个人目标、积极应对挑战和保持乐观态度上高度匹配，这使得他们在面对困难时不仅能够迅速做出反应，还能保持积极向上的心态，从而在竞争中脱颖而出。',
            ],
            'ACDN & 天蝎座' => [
                'type' => 'ACDN',
                'text1' => 'TA们是充满原始动能的个体，拥有天蝎座的深邃与ACDN特质的独特混合。他们本能强烈，不轻易受社会规范束缚，展现出一种未经雕琢的自然魅力。他们像海绵一样吸收正面能量，同时决策果断，直觉敏锐，对未知持有一种审慎的悲观态度。',
                'text2' => '天蝎座与ACDN们总是希望在复杂的环境中找到自己的生存之道，他们能够快速适应并作出决策，这种能力使他们在竞争激烈的环境中脱颖而出。他们的匹配点：天蝎座与ACDN的特质在直觉与适应力上高度匹配，使得他们在面对挑战时能够迅速反应，同时保持内心的坚韧与冷静。',
            ],
            'ACHP & 射手座' => [
                'type' => 'ACHP',
                'text1' => 'TA们是充满原始活力与本能冲动的个体，同时又不失为一颗吸吮正面能量的海绵。他们习惯在决策前深思熟虑，权衡利弊，展现出一种稳健而可靠的决策风格。对未知的积极探索和对未来的乐观态度，使得他们总是能够积极面对生活中的每一个转折。这种独特的人格构造，使得他们在面对挑战时既充满激情又不失理智。',
                'text2' => '射手座与ACHP们总是希望生活充满色彩和冒险，他们追求个人成长和心灵滋养，不断地吸收生活中的正面能量。他们的决策风格使得他们在复杂情境中能够保持冷静，不易被情绪左右。射手座与ACHP的特质在追求自由与探索未知的渴望上高度匹配，这使得他们在面对生活的挑战时，总能以开放的心态去迎接每一个新的可能。',
            ],
            'ACHN & 水瓶座' => [
                'type' => 'ACHN',
                'text1' => 'TA们是充满原始活力与本能的个体，A特质赋予他们强烈的生存意志和竞争力，而未经社会过度雕琢的本性让他们保持着一种独特的纯真。C特质使他们倾向于吸收正面的能量，对外部世界的影响有着筛选和转化的能力。H特质则体现在他们决策时的审慎与周全，善于在复杂情境中找到平衡点。N特质带来的悲观色彩让他们对未知持有一种警觉和审慎的态度，这种底色使得他们在面对风险时更加冷静和现实。',
                'text2' => '水瓶座与ACHN们总是希望在生活中找到能够滋养他们内在成长的路径，他们追求个性与共性的平衡，既不放弃自我表达，也不排斥与他人的和谐相处。匹配点：水瓶座与ACHN的特质在追求个性自由和内在成长上高度匹配，水瓶座的独立精神与ACHN的内在驱动相得益彰，共同塑造了一个既独立又善于内省的个体。',
            ],
            'AEDP & 双子座' => [
                'type' => 'AEDP',
                'text1' => 'TA们是充满原始活力与直觉的个体，A特质揭示了他们内心深处的本能冲动和生存竞争力，这种力量未经社会雕琢，显得更为纯粹和直接。E特质则表明他们具备敏锐的洞察力，能够洞悉外部世界的复杂性，并从中提取深层次的价值。D特质让他们在决策时显得果断而坚定，相信直觉的力量，能够在关键时刻迅速做出反应。P特质则展现了他们对未知的积极探索和乐观态度，他们相信每一个挑战都蕴含着成长的可能。',
                'text2' => '双子座与AEDP们总是希望生活充满变化和新鲜感，他们渴望探索未知领域，不断挑战自我。这种特质使得他们在面对困难时能够保持积极向上的心态，迅速适应环境变化。匹配点：双子座与AEDP的特质在追求变化、直觉决策以及对未知的积极态度上高度匹配，这使得他们在面对生活中的各种情境时，能够以灵活和开放的心态去应对，同时也能够在挑战中找到乐趣和成长的机会。',
            ],
            'AEDN & 狮子座' => [
                'type' => 'AEDN',
                'text1' => 'TA们是充满原始动能的个体，A特质赋予他们强烈的生存本能和竞争力，而未完全社会化的一面则让他们保持着一种独特的纯真和直接性。E特质让他们具备深刻的洞察力，能够洞悉外部世界的复杂性，并从中提炼出独特的价值。D特质则让他们在决策时展现出果断和直觉的信任，能够在关键时刻迅速做出反应。N特质则让TA们倾向于悲观主义，对未知持有审慎的态度，避免盲目乐观。',
                'text2' => '狮子座与AEDN们总是希望在生活中展现出自己的力量和决断力，他们追求个人成就和社会认可，同时，他们对于外部世界的复杂性有着深刻的理解和洞察，能够从中发现并创造价值。匹配点：狮子座与AEDN的特质在追求个人成就和自我实现上高度匹配，狮子座的自信和领导力与AEDN的直觉和决策力相得益彰，共同塑造了一个既具有洞察力又善于行动的个体。',
            ],
            'AEHP & 天秤座' => [
                'type' => 'AEHP',
                'text1' => 'TA们是充满原始活力与直觉的个体，AESHP特质揭示了他们内心深处的本能冲动和对生存竞争的敏锐感知。他们未完全被社会化所驯服，保留着一种璞玉般的天真与野性。同时，他们具备深刻的洞察力，能够洞悉外部世界的复杂性，并从中提炼出独特的价值。在决策时，他们谨慎权衡，追求平衡，不轻易为外界所动，展现出一种稳健而可靠的决策风格。对未知事物的好奇心和乐观态度，使他们总是勇于探索和拥抱新的挑战，对未来抱有无限希望。',
                'text2' => '天秤座与AEHP们总是希望在生活中找到和谐与平衡，他们的决策风格和对未知的积极态度，使得他们能够优雅地应对各种复杂情境。他们的直觉和洞察力帮助他们快速理解环境，而他们的谨慎和乐观则让他们在挑战面前保持冷静和坚韧。匹配点：天秤座与AEHP的特质在追求平衡、适应变化和积极面对挑战上高度匹配，这种组合使得他们在人际交往和职业发展中能够展现出独特的魅力和高效的能力。',
            ],
            'AEHN & 水瓶座' => [
                'type' => 'AEHN',
                'text1' => 'TA们是充满原始活力与直觉的个体，AESNH特质揭示了他们内心深处的本能冲动和生存竞争欲望，同时，他们未完全被社会化所驯服，保留着一种独立而原始的野性。他们深刻理解外部世界的复杂性，并从中提炼价值，但负面信息对他们的影响也更为显著。在决策时，他们审慎权衡，习惯性地分析利弊，这种稳健性使他们在面对复杂情境时显得更加可靠。然而，N特质带来的悲观底色，让他们在未知面前总是保持着一份警觉和审慎，避免盲目乐观。',
                'text2' => '水瓶座与AEHN们总是希望能够在生活中找到一种平衡，既不完全被社会规则所束缚，也不完全沉溺于个人冲动之中。他们追求的是一种既能够发挥个人本能，又能保持理性思考的生活方式。匹配点：水瓶座与AEHN的特质在独立思考与深度洞察上高度匹配，他们都倾向于在复杂的环境中寻找自己的位置，同时保持一种对未知的审慎态度，这种内在的一致性使得他们在心理层面上能够形成强大的共鸣。',
            ],
        ];
    }

    /**
     * 写入 后天星座 信息
     * @param array $data
     * @return int
     */
    public function saveData(array $data)
    {
        try
        {
            if (isset($data['answer_data']) && is_array($data['answer_data']))
            {
                $data['answer_data'] = json_encode($data['answer_data'], JSON_UNESCAPED_UNICODE);
            }
            if (isset($data['content']) && is_array($data['content']))
            {
                $data['content'] = json_encode($data['content'], JSON_UNESCAPED_UNICODE);
            }
            $id = $this->insertGetId($data);

            $this->listDataAdd($data['uid'], [$id => $id]);
            // 删除 待测试缓存
            CacheManage::getInstance()->setCacheConfig($this->cacheModel)->setCacheKeyDetail('delay_test', $data['uid'])->rmCache('delay_test');
            return (int)$id;
        }
        catch (\Exception $e)
        {
            \think\Log::write(__CLASS__ . ' => ' . __FUNCTION__ . '()异常：' . $e->getMessage() . '失败信息：' . $e->getFile() . ':' . $e->getLine(), 'error', true);
            return 0;
        }
    }

    /**
     * 更新 后天星座 信息
     * @param int $id
     * @param int $uid
     * @param array $data
     * @return bool
     */
    public function updateData(int $id, int $uid, array $data)
    {
        try
        {
            if (isset($data['answer_data']) && is_array($data['answer_data']))
            {
                $data['answer_data'] = json_encode($data['answer_data'], JSON_UNESCAPED_UNICODE);
            }
            if (isset($data['content']) && is_array($data['content']))
            {
                $data['content'] = json_encode($data['content'], JSON_UNESCAPED_UNICODE);
            }
            $this->where(['id' => $id])->update($data);
            //  删除 详情缓存
            CacheManage::getInstance()->setCacheConfig($this->cacheModel, $id)->rmCache();
            //  删除 等待测试缓存
            CacheManage::getInstance()->setCacheConfig($this->cacheModel)->setCacheKeyDetail('delay_test', $uid)->rmCache('delay_test');
            return true;
        }
        catch (\Exception $e)
        {
            \think\Log::write(__CLASS__ . ' => ' . __FUNCTION__ . '()异常：' . $e->getMessage() . '失败信息：' . $e->getFile() . ':' . $e->getLine(), 'error', true);
            return false;
        }
    }

    /**
     * 获取 等待测试 信息
     * @param int $uid
     * @return array
     * @throws \Exception
     */
    public function getDelayTestData(int $uid)
    {
        $data = CacheManage::getInstance()->setCacheConfig($this->cacheModel, $uid)->setCacheKeyDetail('delay_test', $uid)
            ->getDataAndSet(function () use ($uid)
            {
                try
                {
                    $data = $this->where(['uid' => $uid, 'type' => 2, 'status' => 0])->order('id desc')->findOrFail()->toArray();
                    return $data;
                }
                catch (\Exception $e)
                {
                    return [];
                }
            }, [], 'delay_test');

        if ($data)
        {
            return $this->dataInit($data);
        } else
        {
            return null;
        }
    }

    /**
     * 开启了缓存
     * @param $ids
     * @param $type
     * @param $sortType
     * @return array|false|string
     */
    public function getInfoByIdsInData($ids, $type, $sortType)
    {
        try
        {
            if ($ids)
            {
                $this->whereIn('id', $ids);
            } else
            {
                $this->where('uid', $type[0]);
            }

            $questionResult = $this->order('id ' . $sortType)
                ->column('uid,type,answer_data,content,status,create_time,test_suc_time,start_time,suc_time,update_time', 'id');
        }
        catch (\Exception $e)
        {
            Log::write('占星师后台考试问题获取异常：' . $e->getMessage(), 'error', true);
            return [];
        }

        return $questionResult;
    }

    public function batchGetInfoByIds($cids, $field = [])
    {
        $resData = parent::batchGetInfoByIds($cids, $field);
        foreach ($resData as $index => $itemData)
        {
            $resData[$index] = $this->dataInit($itemData);
        }
        return $resData;
    }

    /**
     * 数据初始化
     * @param array $data
     * @return array
     */
    public function dataInit(array $data)
    {
        $data = arrayKeyData2int($data, ['id', 'uid', 'type', 'status', 'test_suc_time', 'create_time', 'start_time', 'suc_time', 'update_time']);
        $data['answer_data'] = isset($data['answer_data']) && $data['answer_data'] ? json_decode($data['answer_data'], true) : [];
        $data['content'] = isset($data['content']) && $data['content'] ? json_decode($data['content'], true) : [];

        return $data;
    }

    /**
     * @param int $type 1=>vip体验版 2=>完整版
     * @params int $uid
     * @param int $testId
     * @param array $answerData
     * @param int $status 0=>待测试 1=>测试完成等待计算 2=>计算中[vip用户｜购买完整版用户 测试完 默认进入计算中] 3=>计算完成 4=>计算失败
     * @param int $vipLevel 用户vip等级 体验版 必传  完整版 不需要
     * @return array
     */
    public function getTestAnswerStatusData(int $type, int $uid, int $testId, array $answerData, int $status, int $vipLevel = 0)
    {
        $categoryConfig = ZhunleappAstroExercise::getQuestionCategoryData();
        $resCategoryData = [];
        foreach ($categoryConfig as $cid => $cname)
        {
            $nowQueNum = $answerData["q{$cid}_num"];
            $isLock = $nowQueNum > 0 ? 0 : 1;
            $resCategoryData[] = [
                'title' => $cname,
                'progress' => $isLock === 0 ? 100 : 0,
                'is_lock' => $isLock,
            ];
        }
        if ($type === 1)
        {
            $text = '综合题库已完成';
            $desc = "题量直接影响结果的准确性，当前已完成基础题库\r\n继续答题可获得更准确、更详细的报告内容";
            $btnList = [];
            if ($status === 1)
            {
                $btnList = [
                    [
                        'btn_name' => '订阅小行星会员 免费查看初步结果',
                        'target' => 'local',
                        'link' => "pay_order?type=8&need_auth=2",
                        'style' => 1,
                    ], [
                        'btn_name' => '解锁全部题库 继续答题',
                        'target' => 'local',
                        'link' => "pay_order?type=32&need_auth=2",
                        'style' => 2,
                    ],
                ];
                $resStatus = 0;
            } else
            {
                $appAcquiredAstroTestRecordModel = new AppAcquiredAstroTestRecord();
                $pageData = $appAcquiredAstroTestRecordModel->getListPage($uid);
                $isPay = false; //  是否已经购买过了
                foreach ($pageData['data'] as $k => $v)
                {
                    $v = $appAcquiredAstroTestRecordModel->dataInit($v);
                    if ($v['type'] === 2)
                    {   // 完整版
                        $isPay = true;
                        break;
                    }
                }
                if ($isPay)
                {
                    $btnList[] = [
                        'btn_name' => '继续测试',
                        'target' => 'local',
                        'link' => "acquired_astro_index?pay_suc=0&need_auth=0",
                        'style' => 1,
                    ];
                } else
                {
                    $btnList[] = [
                        'btn_name' => '解锁全部题库 继续答题',
                        'target' => 'local',
                        'link' => "pay_order?type=32&need_auth=2",
                        'style' => 1,
                    ];
                }
                $resStatus = 1;
                if ($status === 3)
                {   // 计算成功 查看最终结果
                    $btnList[] = [
                        'btn_name' => '查看初步测试结果',
                        'target' => 'local',
                        'link' => "acquired_astro_examination_result?id={$testId}&status=2&need_auth=2",
                        'style' => 2,
                    ];
                    $resStatus = 2;
                }
            }

        } else
        {
            $text = '所有测试已完成';
            $desc = '';
            $btnList = [];
            $resStatus = 1;
            if ($status === 3)
            {   // 计算成功 查看最终结果
                $btnList[] = [
                    'btn_name' => '查看最终测试结果',
                    'target' => 'local',
                    'link' => "acquired_astro_examination_result?id={$testId}&status=2&need_auth=2",
                    'style' => 2,
                ];
                $resStatus = 2;
            }
        }
        if (in_array($status, [2, 4], true))
        {
            $refreshData = [
                'tip' => '计算中，预计5分钟内完成…',
                'btn_name' => '刷新',
            ];
        }
        return [
            'tip' => $type === 1 ? '题量直接影响结果的准确性。' : '测试已完成，请耐心等待计算结果。',
            'category_list' => $resCategoryData,
            'text' => $text,
            'desc' => $desc,
            'id' => $testId,
            'btn_list' => $btnList,
            'refresh_data' => $refreshData ?? null,
            'status' => $resStatus,
        ];
    }

    public function getResultTypeByAnswer(array $answerResult)
    {
        // $answerResult = [
        //     1 => 0,  // 1=>善良G 2=>兽性A
        //     2 => 0,
        //     3 => 0,  // 3=>正面C 4=>负面E
        //     4 => 0,
        //     5 => 0,  // 5=>果断D 6=>犹豫H
        //     6 => 0,
        //     7 => 0,  // 7=>积极P 8=>悲观N
        //     8 => 0,
        // ];
        $str = $answerResult[1] >= $answerResult[2] ? 'G' : 'A';
        $str .= $answerResult[3] >= $answerResult[4] ? 'C' : 'E';
        $str .= $answerResult[5] >= $answerResult[6] ? 'D' : 'H';
        $str .= $answerResult[7] >= $answerResult[8] ? 'P' : 'N';

        return $str;
    }

    /**
     * 获取 后天星座 测试结果类型 获取后天星座
     * @param string $resultType
     * @return array|null
     */
    public function getAstrByResultType(string $resultType)
    {
        $resultTypeAstrConfig = [
            'GCDP' => [
                'name' => '白羊座',
                'desc' => '世界因你而精彩',
                'celebrity' => [// 接近名人
                    [
                        'img' => '/test/acquired_astro/celebrity/muxin.png',
                        'name' => '木心',
                    ], [
                        'img' => '/test/acquired_astro/celebrity/libai.png',
                        'name' => '李白',
                    ],
                ],
                'proportion' => [   // 占比
                    'live_city' => 3,   // 现居地占比
                    'brith_city' => 4,   // 出生城市占比
                    'all_user' => 8,   // 所有测试者的占比
                ],
            ],
            'GCDN' => [
                'name' => '天蝎座',
                'desc' => '表面的快乐，其实是向前冲锋的保护色',
                'celebrity' => [// 接近名人
                    [
                        'img' => '/test/acquired_astro/celebrity/caini.png',
                        'name' => '尼采',
                    ], [
                        'img' => '/test/acquired_astro/celebrity/luxun.png',
                        'name' => '鲁迅',
                    ],
                ],
                'proportion' => [   // 占比
                    'live_city' => 3,   // 现居地占比
                    'brith_city' => 1,   // 出生城市占比
                    'all_user' => 7,   // 所有测试者的占比
                ],
            ],
            'GCHP' => [
                'name' => '双鱼座',
                'desc' => '用炙热的心，去追随自己的梦想',
                'celebrity' => [// 接近名人
                    [
                        'img' => '/test/acquired_astro/celebrity/yuefei.png',
                        'name' => '岳飞',
                    ], [
                        'img' => '/test/acquired_astro/celebrity/sunzhongshan.png',
                        'name' => '孙中山',
                    ],
                ],
                'proportion' => [   // 占比
                    'live_city' => 8,   // 现居地占比
                    'brith_city' => 12,   // 出生城市占比
                    'all_user' => 15,   // 所有测试者的占比
                ],
            ],
            'GCHN' => [
                'name' => '处女座',
                'desc' => '把悲伤留给自己，用温暖照亮他人',
                'celebrity' => [// 接近名人
                    [
                        'img' => '/test/acquired_astro/celebrity/kangyouwei.png',
                        'name' => '康有为',
                    ], [
                        'img' => '/test/acquired_astro/celebrity/liangqichao.png',
                        'name' => '梁启超',
                    ],
                ],
                'proportion' => [   // 占比
                    'live_city' => 6,   // 现居地占比
                    'brith_city' => 9,   // 出生城市占比
                    'all_user' => 12,   // 所有测试者的占比
                ],
            ],
            'GEDP' => [
                'name' => '摩羯座',
                'desc' => '相信光，所以相信自己可以改变世界',
                'celebrity' => [// 接近名人
                    [
                        'img' => '/test/acquired_astro/celebrity/mandela.png',
                        'name' => '曼德拉',
                    ], [
                        'img' => '/test/acquired_astro/celebrity/dufu.png',
                        'name' => '杜甫',
                    ],
                ],
                'proportion' => [   // 占比
                    'live_city' => 7,   // 现居地占比
                    'brith_city' => 6,   // 出生城市占比
                    'all_user' => 10,   // 所有测试者的占比
                ],
            ],
            'GEDN' => [
                'name' => '摩羯座',
                'desc' => '阅己，悦己，越己',
                'celebrity' => [// 接近名人
                    [
                        'img' => '/test/acquired_astro/celebrity/quyuan.png',
                        'name' => '屈原',
                    ], [
                        'img' => '/test/acquired_astro/celebrity/shubenhua.png',
                        'name' => '叔本华',
                    ],
                ],
                'proportion' => [   // 占比
                    'live_city' => 3,   // 现居地占比
                    'brith_city' => 4,   // 出生城市占比
                    'all_user' => 4,   // 所有测试者的占比
                ],
            ],
            'GEHP' => [
                'name' => '金牛座',
                'desc' => '慢慢来，好戏都在烟火里',
                'celebrity' => [// 接近名人
                    [
                        'img' => '/test/acquired_astro/celebrity/aidisheng.png',
                        'name' => '爱迪生',
                    ], [
                        'img' => '/test/acquired_astro/celebrity/qianxuesheng.png',
                        'name' => '钱学森',
                    ],
                ],
                'proportion' => [   // 占比
                    'live_city' => 4,   // 现居地占比
                    'brith_city' => 6,   // 出生城市占比
                    'all_user' => 9,   // 所有测试者的占比
                ],
            ],
            'GEHN' => [
                'name' => '巨蟹座',
                'desc' => '天空越黑，星星越亮',
                'celebrity' => [// 接近名人
                    [
                        'img' => '/test/acquired_astro/celebrity/fangao.png',
                        'name' => '梵高',
                    ], [
                        'img' => '/test/acquired_astro/celebrity/zhangguorong.png',
                        'name' => '张国荣',
                    ],
                ],
                'proportion' => [   // 占比
                    'live_city' => 1,   // 现居地占比
                    'brith_city' => 4,   // 出生城市占比
                    'all_user' => 5,   // 所有测试者的占比
                ],
            ],
            'ACDP' => [
                'name' => '白羊座',
                'desc' => '世间千变万化，我自野蛮生长',
                'celebrity' => [// 接近名人
                    [
                        'img' => '/test/acquired_astro/celebrity/mayun.png',
                        'name' => '马云',
                    ], [
                        'img' => '/test/acquired_astro/celebrity/makesi.png',
                        'name' => '马斯克',
                    ],
                ],
                'proportion' => [   // 占比
                    'live_city' => 2,   // 现居地占比
                    'brith_city' => 2,   // 出生城市占比
                    'all_user' => 3,   // 所有测试者的占比
                ],
            ],
            'ACDN' => [
                'name' => '天蝎座',
                'desc' => '生活原本沉闷，但跑起来总会有风',
                'celebrity' => [// 接近名人
                    [
                        'img' => '/test/acquired_astro/celebrity/lixiaolong.png',
                        'name' => '李小龙',
                    ], [
                        'img' => '/test/acquired_astro/celebrity/meiyanfang.png',
                        'name' => '梅艳芳',
                    ],
                ],
                'proportion' => [   // 占比
                    'live_city' => 10,   // 现居地占比
                    'brith_city' => 12,   // 出生城市占比
                    'all_user' => 14,   // 所有测试者的占比
                ],
            ],
            'ACHP' => [
                'name' => '射手座',
                'desc' => '不踩别人的脚印，只找自己的方向',
                'celebrity' => [// 接近名人
                    [
                        'img' => '/test/acquired_astro/celebrity/tepulang.png',
                        'name' => '特朗普',
                    ], [
                        'img' => '/test/acquired_astro/celebrity/zhangdaqian.png',
                        'name' => '张大千',
                    ],
                ],
                'proportion' => [   // 占比
                    'live_city' => 8,   // 现居地占比
                    'brith_city' => 6,   // 出生城市占比
                    'all_user' => 7,   // 所有测试者的占比
                ],
            ],
            'ACHN' => [
                'name' => '水瓶座',
                'desc' => '喜欢自己，比喜欢这个世界更重要',
                'celebrity' => [// 接近名人
                    [
                        'img' => '/test/acquired_astro/celebrity/xubeihong.png',
                        'name' => '徐悲鸿',
                    ], [
                        'img' => '/test/acquired_astro/celebrity/caiyuanpei.png',
                        'name' => '蔡元培',
                    ],
                ],
                'proportion' => [   // 占比
                    'live_city' => 5,   // 现居地占比
                    'brith_city' => 3,   // 出生城市占比
                    'all_user' => 6,   // 所有测试者的占比
                ],
            ],
            'AEDP' => [
                'name' => '双子座',
                'desc' => '我生以悦我，而非他人所困',
                'celebrity' => [// 接近名人
                    [
                        'img' => '/test/acquired_astro/celebrity/qiaobusi.png',
                        'name' => '乔布斯',
                    ], [
                        'img' => '/test/acquired_astro/celebrity/caocao.png',
                        'name' => '曹操',
                    ],
                ],
                'proportion' => [   // 占比
                    'live_city' => 1,   // 现居地占比
                    'brith_city' => 1,   // 出生城市占比
                    'all_user' => 2,   // 所有测试者的占比
                ],
            ],
            'AEDN' => [
                'name' => '狮子座',
                'desc' => '要在世俗的雨里，决定成为自己',
                'celebrity' => [// 接近名人
                    [
                        'img' => '/test/acquired_astro/celebrity/zengguofan.png',
                        'name' => '曾国藩',
                    ], [
                        'img' => '/test/acquired_astro/celebrity/huojin.png',
                        'name' => '霍金',
                    ],
                ],
                'proportion' => [   // 占比
                    'live_city' => 3,   // 现居地占比
                    'brith_city' => 1,   // 出生城市占比
                    'all_user' => 7,   // 所有测试者的占比
                ],
            ],
            'AEHP' => [
                'name' => '天秤座',
                'desc' => '我的征途是星辰大海，我要去的地方是春暖花开',
                'celebrity' => [// 接近名人
                    [
                        'img' => '/test/acquired_astro/celebrity/biergaici.png',
                        'name' => '比尔盖茨',
                    ], [
                        'img' => '/test/acquired_astro/celebrity/yangzhenyu.png',
                        'name' => '杨振宁',
                    ],
                ],
                'proportion' => [   // 占比
                    'live_city' => 2,   // 现居地占比
                    'brith_city' => 6,   // 出生城市占比
                    'all_user' => 9,   // 所有测试者的占比
                ],
            ],
            'AEHN' => [
                'name' => '水瓶座',
                'desc' => '在谷底也要开花，在海底也要望月',
                'celebrity' => [// 接近名人
                    [
                        'img' => '/test/acquired_astro/celebrity/beiduofen.png',
                        'name' => '贝多芬',
                    ], [
                        'img' => '/test/acquired_astro/celebrity/yaoming.png',
                        'name' => '姚明',
                    ],
                ],
                'proportion' => [   // 占比
                    'live_city' => 4,   // 现居地占比
                    'brith_city' => 6,   // 出生城市占比
                    'all_user' => 10,   // 所有测试者的占比
                ],
            ],
        ];

        return $resultTypeAstrConfig[$resultType] ?? null;
    }

    public function testAnswerDataResert(array $testAnswerData)
    {
        $qNum = $testAnswerData['answer_data']['q1_num'] + $testAnswerData['answer_data']['q2_num'] + $testAnswerData['answer_data']['q3_num'] + $testAnswerData['answer_data']['q4_num'] + $testAnswerData['answer_data']['q5_num'];
        $testSucTime = date('Y-m-d H:i', $testAnswerData['test_suc_time']);
        $calculateData = $testAnswerData['content'];
        if ($testAnswerData['type'] === 1)
        {   // vip 体验版
            $appAcquiredAstroTestRecordModel = new AppAcquiredAstroTestRecord();
            $pageData = $appAcquiredAstroTestRecordModel->getListPage($testAnswerData['uid']);
            $isPay = false; //  是否已经购买过了
            foreach ($pageData['data'] as $k => $v)
            {
                $v = $appAcquiredAstroTestRecordModel->dataInit($v);
                if ($v['type'] === 2)
                {   // 完整版
                    $isPay = true;
                    break;
                }
            }
            $tipData = [
                'tip1' => sprintf("仅完成初步测试(%d题)", $qNum),
                'tip2' => '以下结果准确度可能有偏差。',
                'create_time' => '测试时间：' . $testSucTime,
                'btn_name' => $isPay ? '' : '全部测试',
            ];

            $delayUnlockData = $this->getDelayUnlockData();
            $btnData = $isPay ? null : [    // 购买过完整版 则不显示按钮信息
                'name' => '继续解锁进行完整版测试',
                'target' => 'local',
                'link' => 'pay_order?type=32&gid=159&need_auth=2',
            ];
        } else
        {   // 完整版
            $tipData = [
                'tip1' => sprintf("当前完成全部测试(%d题)", $qNum),
                'tip2' => '',
                'create_time' => '测试时间：' . $testSucTime,
                'btn_name' => '',
            ];

            $unlockData = $this->getCalculateDataUnlockData($calculateData);
            $btnData = [
                'name' => '下载报告',
                'target' => 'local',
                'link' => 'save_pic',
            ];
        }
        // 测试结果数据
        $resultData = $this->getCalculateDataResultData($calculateData['res_type'], $calculateData['res_answer_data']);
        // 人格特质
        $traits = $this->getCalculateDataTraits($calculateData['res_type'], $calculateData['personality_traits']);
        // 这四个字母代表什么？
        $resDesc = $this->getCalculateDataResDesc($calculateData['res_type']);
        // 后天想着成分
        $astroScore = $this->getCalculateDataAstroScore($calculateData['res_type'], $calculateData['acquired_constellation']);
        // 人群特征
        $traits2 = $this->getCalculateDataTraits2($calculateData['res_type']);
        $resData = [
            'tip_data' => $tipData,
            'title' => '测试结果',
            'type' => $testAnswerData['type'],  // 测试类型 1=>vip体验版   2=>完整版
            'result_data' => $resultData,    // 测试结果
            'traits' => $traits,         // 人格特质
            'res_desc' => $resDesc,       // 这四个字母代表什么
            'astro_score' => $astroScore,    // 后天星座成分
            'traits2' => $traits2,        // 人群特征
            'unlock_data' => $unlockData ?? null,    // 解锁信息
            'delay_unlock_data' => $delayUnlockData ?? null, // 待解锁信息
            'btn_data' => $btnData,
            'target' => 'local',
            'link' => 'pay_order?type=32&gid=159&need_auth=2',
        ];

        return $resData;
    }

    /**
     * 测试结果数据
     * @param string $resType
     * @param array $resAnswerData
     * @return array
     */
    public function getCalculateDataResultData(string $resType, array $resAnswerData)
    {
        $astrData = $this->getAstrByResultType($resType);
        $resData = [1 => 0, 2 => 0, 3 => 0, 4 => 0, 5 => 0, 6 => 0, 7 => 0, 8 => 0,];
        foreach ($resAnswerData as $item)
        {
            $resData[1] += $item['data'][1];
            $resData[2] += $item['data'][2];
            $resData[3] += $item['data'][3];
            $resData[4] += $item['data'][4];
            $resData[5] += $item['data'][5];
            $resData[6] += $item['data'][6];
            $resData[7] += $item['data'][7];
            $resData[8] += $item['data'][8];
        }
        $sG = (int)($resData[1] / ($resData[1] + $resData[2]) * 100);
        $sA = 100 - $sG;
        $sC = (int)($resData[3] / ($resData[3] + $resData[4]) * 100);
        $sE = 100 - $sC;
        $sD = (int)($resData[5] / ($resData[5] + $resData[6]) * 100);
        $sH = 100 - $sD;
        $sP = (int)($resData[7] / ($resData[7] + $resData[8]) * 100);
        $sN = 100 - $sP;
        return [
            'type' => $resType,
            'astro' => $astrData['name'] ?? '',
            'desc' => $astrData['desc'] ?? '',
            'list' => [
                [
                    'title' => '本性表现',
                    'left' => [
                        'text' => '善良(G)',
                        'score' => $sG,
                    ],
                    'right' => [
                        'text' => '兽性(A)',
                        'score' => $sA,
                    ],
                ], [
                    'title' => '外部影响',
                    'left' => [
                        'text' => '正面(C)',
                        'score' => $sC,
                    ],
                    'right' => [
                        'text' => '负面(E)',
                        'score' => $sE,
                    ],
                ], [
                    'title' => '选择方式',
                    'left' => [
                        'text' => '果断(D)',
                        'score' => $sD,
                    ],
                    'right' => [
                        'text' => '犹豫(H)',
                        'score' => $sH,
                    ],
                ], [
                    'title' => '对未知的态度',
                    'left' => [
                        'text' => '积极(P)',
                        'score' => $sP,
                    ],
                    'right' => [
                        'text' => '悲观(N)',
                        'score' => $sN,
                    ],
                ],
            ],
        ];
    }

    /**
     * 测试结果数据 人格特质
     * @param string $resType
     * @param array $personalityTraits
     * @return array
     */
    public function getCalculateDataTraits(string $resType, array $personalityTraits)
    {
        return [
            'title' => '/test/acquired_astro/title/traits.png',
            'tip' => sprintf("“%s”们的心理构成中，有以下显著特征：", $resType),
            'list' => $personalityTraits,
        ];
    }

    /**
     * 测试结果数据 这四个字母代表什么
     * @return array
     */
    public function getCalculateDataResDesc(string $resType)
    {
        $resDescConfig = [
            'G' => [
                'text_img' => '/test/acquired_astro/G.png',
                'name' => '文明之光',
                'desc' => '代表着你内心深处不易察觉的温柔与善意，它是你社会行为中闪耀的光芒。同时也代表着你受社会教化程度较深。',
            ],
            'A' => [
                'text_img' => '/test/acquired_astro/A.png',
                'name' => '兽性潜能',
                'desc' => '揭示了原始的冲动与力量，它不代表邪恶，而是可贵的生存与竞争的本能。同时也代表着没有过多接受社会的教化。',
            ],
            'C' => [
                'text_img' => '/test/acquired_astro/C.png',
                'name' => '正能量吸收器',
                'desc' => '象征着你面对外部影响时，如同一块海绵，总是优先吸收那些能够滋养心灵的正面能量。',
            ],
            'E' => [
                'text_img' => '/test/acquired_astro/E.png',
                'name' => '深度思考者',
                'desc' => '代表着你对外部世界复杂性的深刻理解与洞察，从中提炼价值，负面信息总是对你影响更大。',
            ],
            'D' => [
                'text_img' => '/test/acquired_astro/D.png',
                'name' => '果断行动家',
                'desc' => '你的决策总是很果断，受干扰较小，你相信直觉，能够在关键时刻迅速做出决定并付诸行动。',
            ],
            'H' => [
                'text_img' => '/test/acquired_astro/H.png',
                'name' => '深思权衡者',
                'desc' => '在决策前，你习惯性地权衡利弊，不轻易下结论。这也让你在复杂情境中更加稳健可靠。',
            ],
            'P' => [
                'text_img' => '/test/acquired_astro/P.png',
                'name' => '探索者',
                'desc' => '代表着你对未知的事物总是抱有积极态度，愿意拥抱每一个挑战与机遇，相信未来总是充满可能。',
            ],
            'N' => [
                'text_img' => '/test/acquired_astro/N.png',
                'name' => '悲观底色',
                'desc' => '悲观是你的底色，你总是用审慎的态度看待未知事物，并不盲目的相信未知的美好。',
            ],
        ];
        $list = [];
        for ($i = 0; $i < mb_strlen($resType); $i++)
        {
            $list[] = $resDescConfig[$resType[$i]];
        }
        return [
            'title' => '/test/acquired_astro/title/res_desc.png',
            'list' => $list,
        ];
    }

    /**
     * 测试结果数据 后天星座成分
     * @return array
     */
    public function getCalculateDataAstroScore(string $resType, array $acquiredConstellation)
    {
        $astrData = $this->getAstrByResultType($resType);
        $colorConfig = ['#00D8D3', '#F5B642', '#FF879E',];
        $list = [];
        foreach ($acquiredConstellation as $k => $item)
        {
            $list[] = [
                'color' => $colorConfig[$k],  // #00D8D3
                'name' => $item['constellation'],   // 星座名称
                'progress' => (int)$item['percentage'],   // 进度【0-100】
                'text1' => $item['text1'],  // 灰色的字
                'text2' => $item['text2'],  // 青色的字
            ];
        }
        return [
            'title' => '/test/acquired_astro/title/astro_score.png',  // 后天星座成分
            'desc1' => $resType,  // PAED
            'desc2' => $astrData['name'] ?? '',  // 射手座
            'list' => $list,
        ];
    }

    /**
     * 测试结果数据 人群特征
     * @param string $resType
     * @return array
     */
    public function getCalculateDataTraits2(string $resType)
    {
        $astrData = $this->getAstrByResultType($resType);

        return [
            'title' => '/test/acquired_astro/title/traits2.png',
            'list1' => [
                'title' => sprintf('%s人群占比', $resType),
                'desc' => '占比会根据测试人数的增加发生变化',
                'list' => [
                    [
                        'name' => '现居城市',
                        'score' => $astrData['proportion']['live_city'],
                        'desc' => '此人格在当前城市占比',
                        'text_color' => '#00ECEB',
                    ], [
                        'name' => '出生城市',
                        'score' => $astrData['proportion']['brith_city'],
                        'desc' => '此人格在出生城市占比',
                        'text_color' => '#EFBF00',
                    ],
                ],
                'text' => $resType,
                'score' => $astrData['proportion']['all_user'],
            ],
            'list2' => [
                'title' => sprintf("同样是“%s”的名人：", $resType),
                'list' => $astrData['celebrity'],
            ],
        ];
    }

    /**
     * 获取等待解锁信息
     * @return array
     */
    public function getDelayUnlockData()
    {
        return [
            'title' => '/test/acquired_astro/title/delay_unlock_title.png',
            'demo_url' => Env::get('host.domain') . '/web/app_demo/acquired_astro.html',
            'list' => [
                [
                    'icon' => '/test/acquired_astro/work_icon.png',
                    'name' => '工作',
                    'desc' => "适合的工作\r\n最佳合作伙伴人格\r\n工作状态",
                ], [
                    'icon' => '/test/acquired_astro/love_icon.png',
                    'name' => '恋爱',
                    'desc' => "适合的恋爱对象\r\n恋爱状态",
                ], [
                    'icon' => '/test/acquired_astro/renji_icon.png',
                    'name' => '人际',
                    'desc' => "适合交往的伙伴人格\r\n人际状态",
                ], [
                    'icon' => '/test/acquired_astro/caifu_icon.png',
                    'name' => '财富',
                    'desc' => "适合获得财富的方式\r\n财富状态",
                ], [
                    'icon' => '/test/acquired_astro/zongjie_icon.png',
                    'name' => '总结',
                    'desc' => "总体改善方向",
                ],
            ],
            'intro' => [
                'title' => '/test/acquired_astro/title/delay_unlock_why.png',
                'list' => [
                    [
                        'title' => '· 校准初步测试的准确度',
                        'desc' => '完整版测试的题库覆盖更全面，心理测试的结果和测试的全面程度直接相关。',
                    ], [
                        'title' => '· 更丰富的报告内容',
                        'desc' => '完整版可以为心理评估报告的结果提供更多的支撑依据。',
                    ], [
                        'title' => '· 正式的报告文件下载',
                        'desc' => '可以下载报告内容，便于保存查看和传阅。',
                    ],
                ],
            ],
        ];
    }

    /**
     * 获取 已解锁数据信息
     * @param array $calculateData
     * @return array
     */
    public function getCalculateDataUnlockData(array $calculateData): array
    {
        $workList = [];
        if (isset($calculateData['work_dimension']['career']) && $calculateData['work_dimension']['career'])
        {
            $workList[] = [
                'title' => '适合的工作',
                'texts' => $calculateData['work_dimension']['career'],
                'type' => 1,
            ];
        }
        if (isset($calculateData['work_dimension']['cooperative_partner']) && $calculateData['work_dimension']['cooperative_partner'])
        {
            $workList[] = [
                'title' => '最佳工作合作伙伴',
                'texts' => $calculateData['work_dimension']['cooperative_partner'],
                'type' => 2,
            ];

        }
        $loveList = [];
        if (isset($calculateData['love_dimension']['aromantic_partner']) && $calculateData['love_dimension']['aromantic_partner'])
        {
            $loveList[] = [
                'title' => '最佳恋爱对象',
                'texts' => $calculateData['love_dimension']['aromantic_partner'],
                'type' => 2,
            ];
        }
        $moneyList = [];
        if (isset($calculateData['wealth_dimension']['method']) && $calculateData['wealth_dimension']['method'])
        {
            $moneyList[] = [
                'title' => '适合获得财富的方式',
                'texts' => $calculateData['wealth_dimension']['method'],
                'type' => 1,
            ];
        }
        $renjiList = [];
        if (isset($calculateData['interpersonal_dimension']['method']) && $calculateData['interpersonal_dimension']['method'])
        {
            $renjiList[] = [
                'title' => '适合交往的伙伴',
                'texts' => $calculateData['interpersonal_dimension']['method'],
                'type' => 2,
            ];
        }
        return [
            [
                'title' => '/test/acquired_astro/title/work.png',
                'list' => $workList,
                'data' => [
                    'title' => '工作状态',
                    'tip' => '（依据工作题库结果总结）',
                    'list' => [
                        [
                            'tip' => '优势',
                            'tip_color' => '#2ADC41',
                            'tip_bgcolor' => '#DBFEDF',
                            'content' => $calculateData['work_dimension']['working_condition']['advantage'] ?? '',
                        ], [
                            'tip' => '劣势',
                            'tip_color' => '#C07FE8',
                            'tip_bgcolor' => '#F9EFFF',
                            'content' => $calculateData['work_dimension']['working_condition']['inferiority'] ?? '',
                        ],
                    ],
                ],
            ], [
                'title' => '/test/acquired_astro/title/love.png',
                'list' => $loveList,
                'data' => [
                    'title' => '恋爱状态',
                    'tip' => '（依据恋爱题库结果总结）',
                    'list' => [
                        [
                            'tip' => '需求',
                            'tip_color' => '#FF7BB6',
                            'tip_bgcolor' => '#FFF0F5',
                            'content' => $calculateData['love_dimension']['love_condition']['demand'] ?? '',
                        ], [
                            'tip' => '挑战',
                            'tip_color' => '#F36666',
                            'tip_bgcolor' => '#FFEFEF',
                            'content' => $calculateData['love_dimension']['love_condition']['challenge'] ?? '',
                        ],
                    ],
                ],
            ], [
                'title' => '/test/acquired_astro/title/money.png',
                'list' => $moneyList,
                'data' => [
                    'title' => '财富状态',
                    'tip' => '（依据财富题库结果总结）',
                    'list' => [
                        [
                            'tip' => '需求',
                            'tip_color' => '#FF7BB6',
                            'tip_bgcolor' => '#FFF0F5',
                            'content' => $calculateData['wealth_dimension']['wealth_condition']['demand'] ?? '',
                        ], [
                            'tip' => '挑战',
                            'tip_color' => '#F36666',
                            'tip_bgcolor' => '#FFEFEF',
                            'content' => $calculateData['wealth_dimension']['wealth_condition']['challenge'] ?? '',
                        ],
                    ],
                ],
            ], [
                'title' => '/test/acquired_astro/title/renji.png',
                'list' => $renjiList,
                'data' => [
                    'title' => '人际状态',
                    'tip' => '（依据人际题库结果总结）',
                    'list' => [
                        [
                            'tip' => '需求',
                            'tip_color' => '#FF7BB6',
                            'tip_bgcolor' => '#FFF0F5',
                            'content' => $calculateData['interpersonal_dimension']['interpersonal_condition']['demand'] ?? '',
                        ], [
                            'tip' => '挑战',
                            'tip_color' => '#F36666',
                            'tip_bgcolor' => '#FFEFEF',
                            'content' => $calculateData['interpersonal_dimension']['interpersonal_condition']['challenge'] ?? '',
                        ],
                    ],
                ],
            ], [
                'title' => '/test/acquired_astro/title/zongjie.png',
                'list' => [],
                'data' => [
                    'title' => '总结',
                    'tip' => '',
                    'list' => [
                        [
                            'tip' => '性格',
                            'tip_color' => '#35E8C2',
                            'tip_bgcolor' => '#F0FFFB',
                            'content' => $calculateData['guide']['character'] ?? '',
                        ], [
                            'tip' => '行动',
                            'tip_color' => '#F5D125',
                            'tip_bgcolor' => '#FFFBDD',
                            'content' => $calculateData['guide']['move'] ?? '',
                        ], [
                            'tip' => '态度',
                            'tip_color' => '#00D8D3',
                            'tip_bgcolor' => '#EAFFFF',
                            'content' => $calculateData['guide']['attitude'] ?? '',
                        ],
                    ],
                ],
            ],
        ];
    }
}